Computer networks provide a number of advantages over standalone systems. In a network, each computer is a node which communicates with other nodes over one or more links. Nodes may be provided which store and manage databases or other data files on mass storage devices, or which manage printers or links to public telecommunication networks, etc.
As networks become larger, and more computers, input/output devices and other machines are connected together, management of the network becomes more and more difficult. To alleviate data transfer limitations when connecting many nodes to a single network, networks are often divided into a smaller number of nodes, essentially creating separate networks which are then interconnected by means of bridges or gateways to allow a node on one sub-network to communicate with a node on another sub-network. This alleviates the data transfer limitations of networks, but does not alleviate management problems.
One problem associated with management of a computer system is managing software on the different computing nodes. Software management can include a number of functions, such as verifying that a computing node has a particular type of file, a particular version of the file, and possibly, ascertaining contents of the file. Keeping track of software distribution and use can be important for licensing purposes, as well as for basic functioning of the network. In the past, when computer systems were a single large, multiuser system, a system manager performed these functions. With the advent of single user systems, such as personal computers and workstations, the users have essentially become the system manager, requiring them to perform these system management tasks individually.
A need thus exists in the art for an enhanced, automated information gathering facility which allows state data, such as file existence and file configuration information, for one or more nodes to be maintained up-to-date in a control information repository of the computer system network.